<?php

/**
 * Created by PhpStorm.
 * User: chengchaogui
 * Date: 2017/8/9
 * Time: 10:30
 */
namespace App\Repository\Contract;

interface IRzjhpAdmin
{
    /**
     * 根据ID获取管理员
     * @param $id
     * @return mixed
     */
    public function getManager($id);

    /**
     * 获取管理员列表
     * @param $form
     * @return mixed
     */
    public function getManagerList($form);

    /**
     * 添加管理员
     * @param $form
     * @return mixed
     */
    public function addManager($form);

    /**
     * 修改管理员
     * @param $form
     * @return mixed
     */
    public function updateManager($form);

    /**
     * 验证管理员是否已存在
     * @param $username
     * @return bool
     */
    public function managerIsExist($username);

    /**
     * 删除管理员
     * @param $id
     * @return mixed
     */
    public function deleteManager($id);

    /**
     * 管理员登录
     * @param $form
     * @return mixed
     */
    public function login($form);

    /**
     * 管理员登出
     * @return mixed
     */
    public function logout();

    /**
     * 获取所有管理角色
     * @return mixed
     */
    public function getAllRole();

    /**
     * 根据ID获取管理员角色
     * @param $id
     * @return mixed
     */
    public function getRole($id);

    /**
     * 添加角色
     * @param $form
     * @return mixed
     */
    public function addRole($form);

    /**
     * 修改角色
     * @param $form
     * @return mixed
     */
    public function updateRole($form);

    /**
     * 根据角色id获取权限
     * @param $role_id
     * @return mixed
     */
    public function getRolePermission($role_id);

    /**
     * 设置管理员权限
     * @param $form
     * @return mixed
     */
    public function setPermission($form);

    /**
     * 获取模块列表
     * @return mixed
     */
    public function getModules();

    /**
     * 获取模块权限
     * @return mixed
     */
    public function getModulePermissions();
}